Telephony-based messaging systems that provide voice, fax and/or e-mail messaging capabilities are well known. FIG. 1 illustrates an exemplary messaging system developed by Unisys Corporation, Blue Bell, Pa., the assignee of the present invention. The system of FIG. 1 comprises multiple servers (which may be implemented, e.g., with A-Series™ or Clearpath™ computers offered by Unisys Corporation) each supporting a network applications platform (NAP), which provides an underlying platform for storage and retrieval of messages, and a messaging application running on the platform. A voice mail application, such as the Unisys Universal Voice Messaging System (UVMS), is an example of a messaging application that runs on the messaging platform. The UVMS application determines how calls to the messaging system are handled, what prompts are played to callers, and which features are available. Such applications typically maintain a database of subscribers who have “mailboxes” on the system. The messaging platform interfaces to a telephone network through a Network Interface Unit (NIU) or Telephony Services Platform (TSP), which is a form of NIU. Received messages are stored by the messaging platform in a local message store, or voice file.
The network applications platform, or NAP, may be located at a local telephone company connected to one or more central offices or switches, or could alternatively be located on the premises of a customer, such as a large or medium-sized company. In the latter case, the NAP would typically be connected to a private branch exchange (PBX) instead of directly to a Public Switched Telephone Network (PSTN) 16 as shown in FIG. 1.
In the exemplary system shown in FIG. 1, a first node of the system comprises a server/NAP 10a, voice file and database 12a and NIU 14a. Similarly, a second node comprises a server/NAP 10b, voice file and database 12b and NIU 14b; and a third node comprises a server/NAP 10c, voice file and database 12c and NIU 14c. The first node, e.g., could be responsible for a predefined geographic area encompassing hundreds of thousands of subscribers, or simply for a predefined set of telephone lines or circuits. The respective nodes are separately coupled to a PSTN 16 and are thereby made accessible to their subscribers. Moreover, subscribers of one node can employ messaging to transfer copies of messages (such as voice messages) to subscribers of another node.
In use, if a subscriber is not available when an incoming call is received, the PSTN forwards the call to the messaging system, which typically allows the caller to record a message and then stores the message for later retrieval by the caller. A key, or token, returned to the messaging application uniquely identifies the stored message data within the message store. This key can be used at a later time to retrieve the message from the message store for playback to the subscriber.
Further background information concerning the construction and operation of messaging systems, and particularly systems employing a Network Applications Platform for interfacing a telephone network and network applications running on an enterprise server, may be found in the following patents and copending patent applications:                U.S. Pat. No. 5,133,004, Jul. 21, 1992, “Digital Computer Platform for Supporting Telephone Network Applications”;        U.S. Pat. No. 5,138,710, Aug. 11, 1992, “Apparatus and Method for Providing Recoverability in Mass Storage Data Base Systems Without Audit Trail Mechanisms”;        U.S. Pat. No. 5,384,829, Jan. 24, 1995, “Digital Computer Platform for Supporting Telephone Network Applications”;        U.S. Pat. No. 5,323,450, Jun. 21, 1994, “Telephone Network Applications Platform for Supporting Facsimile Applications”;        U.S. Pat. No. 5,494,606, Feb. 20, 1996, “Multi-Lingual Prompt Management System for a Network Applications Platform”;        U.S. Pat. No. 5,633,916, May 27, 1997, “Universal Messaging Service Using Single Voice Grade Telephone Line Within a Client/Server Architecture”;        U.S. patent application Ser. No. 08/944,924, filed Oct. 6, 1997, “Enhanced Multi-Lingual Prompt Management in a Voice Messaging System With Support for Speech Recognition”;        U.S. patent application Ser. No. 08/964,744, filed Nov. 5, 1997, “Methods and Apparatus for Providing External Access to Executable Call Flows of a Network Application”;        U.S. patent application Ser. No. 08/987,571, filed Dec. 11, 1997, “Multiple Language Electronic Mail Notification of Received Voice and/or Fax Messages”;        U.S. patent application Ser. No. 09/094,126, filed Jun. 9, 1998, titled “Universal Messaging System Providing Integrated Voice, Data and Fax Messaging Services to PC/Web-based Clients, Including a Session Manager for Maintaining a Session Between a Messaging Platform and the Web-based Clients”;        U.S. patent application Ser. No. 09/093,593, filed Jun. 9, 1998, titled “Universal Messaging System Providing Integrated Voice, Data and Fax Messaging Services to PC/Web-based Clients, Including a Content Manager for Receiving Information from Content Providers and Formatting the Same into Multimedia Containers for Distribution to Web-based Clients”;        U.S. patent application Ser. No. 09/094,266, filed Jun. 9, 1998, titled “Universal Messaging System Providing Integrated Voice, Data and Fax Messaging Services to PC/Web-based Clients, Including a Large Object Server for Efficiently Distributing Voice/Fax Messages to Web-based Clients”;        U.S. patent application Ser. No. 09/094,026, filed Jun. 9, 1998, “System and Method for Integrating Notification Functions of Two Messaging Systems in a Universal Messaging Solution”;        U.S. patent application Ser. No. 09/161,214, filed Sep. 25, 1998, “Multiple Node Messaging System Wherein Nodes Have Shared Access To Message Stores Of Other Nodes”; and        U.S. patent application Ser. No. 09/307,014, filed May 7, 1999, “Inter-System Call Transfer”.        
The present invention particularly addresses a problem that arises in connection with the distribution of voice messaging applications (such as UVMS) to customers with diverse needs and desires, e.g., with regard to the manner in which the system will interact with callers. For example, one customer might be the national telephone company in a country in which rotary phones are commonly used. Since rotary phones do not include a pound (#) key, this customer would require that the delimiter list not include the # key (the delimiter list is the list of DTMF tones or key presses a caller can use to signal the end of a caller input string). Another example is where a particular customer simply prefers different call flow sequences or functions than the ones being offered (e.g., the customer wants to reverse the order in which messages are reviewed, say, from first-in-first-out to last-in-first-out). Yet another example is where the customer requests a different list of DTMF tones/key presses a caller can use to interrupt the playing of a prompt (this list is referred to as a break list). With current systems, such diverse requirements are handled by modifying the application code as required for each different incarnation of the system. This solution, however, is unsatisfactory since it creates a complex maintenance dilemma. On the one hand, it is desirable to build and support one standard product for all customers, but on the other hand it is also desirable to permit customers to impart their requirements on the system, which in turn results in changes to the standard product. The changes may be simple in nature but the maintenance of a set of changes to the standard product for every customer can nonetheless become unduly burdensome and expensive. To deal with the customizations, it is possible to cut off from the standard product at some point and develop and maintain an independent development stream for each customer. This solution, however, is similarly expensive and inefficient.